<?php 
namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Db;

class Category extends Admincontroller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
    	$list=Db::table('xo_admin_category')->where('pid',0)->field(true)->select();
        return view('category/index',['list'=>$list]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
    	$pid = input('get.id');
    	$path = input('get.path');
    	$pname = input('get.name');

        return view('category/create', [
            'pid' => $pid,
            'path'=>$path,
            'name'=>$pname
        ]);
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
    	$data=input('post.');
        if (empty($data['name'])) {
            return $this->error('名字不能为空哦~再去试试');
        }
        $res = Db::table('xo_admin_category')->where('name',$data['name'])->select();
        if (!empty($res)) {
            return $this->error('名字重复啦~ 换个再试试吧');
        }


    	if ((in_array("on",$data))) {
    		$data['display']='1';
    	}else{
    		$data['display']='2';
    	}
    	$data['id']='';
    	$data['path']=$data['path'].$data['pid'].',';
        // var_dump($data);
        // die;
    	$result = Db::table('xo_admin_category')->data($data)->insert();
        if ($result > 0) {
            return $this->success('新增成功了~~');
        } else {
            return $this->error('新增失败~~');
        }
    }

    /**
     * 加载子分类的资源
     *
     * @param  int $id
     * @return \think\Response
     */
    public function read($id)
    {
//        return '读取用户ID: ' . $id;
        // 显式查询所有字段
        $list = Db::table('xo_admin_category')->where('pid',$id)->field(true)->select();
        // 检查 pid 是否合法
        if (empty($list)) {
            return $this->error('该分类下已无子分类');
        }
       // var_dump($list);die;
        return view('category/child',['list'=>$list]);
    }

    /**
     * 显示指定的资源(页面)
     *
     * @param  int $id
     * @return \think\Response
     */
    public function readpage($id)
    {

    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int $id
     * @return \think\Response
     */
    public function edit($id)
    {
//        return '编辑用户ID:' . $id;
        // 显式查询所有字段
        $list = Db::table('xo_admin_category')->where('id',$id)->field(true)->find();
        if (empty($list)) {
            return $this->error('页面开小差去啦!~~~');
        }
        return view('category/edit',[
        	'list' =>$list
        ]);
    }



    /**
     * 执行编辑资源表单页.
     *
     * @param  int $id
     * @return \think\Response
     */
    public function doedit()
    {
    	$data=input('post.');


    	if ((in_array("on",$data))) {
    		$data['display']='1';
    	}else{
    		$data['display']='2';
    	}
    	// var_dump($data);die;
//        return '编辑用户ID:' . $id;
        // 显式查询所有字段
        $result = Db::table('xo_admin_category')->where('id', $data['id'])->update($data);
        return $this->success('编辑成功' ,url('admin/category/index'));
    }
//

    /**
     * 保存更新的资源
     *
     * @param  \think\Request $request
     * @param  int $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $info = $request->put();
        var_dump($info);


        $data = [
            'name' => $info['name'],
            'sex' => $info['sex'],
            'age' => $info['age'],
            'province' => $info['province'],
            'tel' => $info['tel']
        ];

        $result = Db::table('hc_user')->where('id', $id)->update($data);

        if ($result > 0) {
            return $this->success('编辑安排上了! ヾ(=ﾟ･ﾟ=)ﾉ喵♪', url('rest/user/index'));
        } else {
            return $this->error('还没安排编辑上. (ノ°ο°)ノ高能预警 ');
        }

    }

    /**
     * 删除指定资源
     *
     * @param  int $id
     * @return \think\Response
     */
    public function delete($id)
    {
        // 查询数据库 看是否有子类
        $data = Db::table('xo_admin_category')->where('pid',$id)->select();
        // var_dump($data);die;
        // 判断有没有子类   有子类的话会走下面的区间 返回info
        if (!empty($data)) {
            $info['status'] = false;
            $info['id'] = $id;
            $info['info'] = '你还有子分类呢,暂时不能删除哦~';
            return json($info); // JSON 数据
        }
        // 若没有子类 则删除
        $result = Db::table('xo_admin_category')->where('id',$id)->delete();
        if ($result > 0) {
            $info['status'] = true;
            $info['id'] = $id;
            $info['info'] = 'ID为: ' . $id . ' 分类删除成功!';
            return json($info); // JSON 数据

        } else {
            $info['status'] = false;
            $info['id'] = $id;
            $info['info'] = 'ID为: ' . $id . ' 分类删除失败,请重试!';
            return json($info); // JSON 数据
        }
    }


    /**
     * 验证子分类名字
     *
     * @param   
     * @return \think\Response
     */
    public function check()
    {
    	// echo 11;
    	$name = input('get.');
    	$name=$name['name'];
        $result = Db::table('xo_admin_category')->where('name',$name)->select();
        if ($result) {
        	return 1; // JSON 数据
        }else{
        	return 0; // JSON 数据
        }
        
    }

    /**
     * 添加一级分类
     *
     * @param   
     * @return \think\Response
     */
    public function addcate()
    {
        return view('category/add');
        
    }

    /**
     * 执行添加一级分类
     *
     * @param   
     * @return \think\Response
     */
    public function doaddcate()
    {
        $data = input('post.');
        
        if (empty($data['name'])) {
            return $this->error('名字不能为空哦~再去试试');
        }
        $res = Db::table('xo_admin_category')->where('name',$data['name'])->select();
        if (!empty($res)) {
            return $this->error('名字重复啦~ 换个再试试吧');
        }

        if ((in_array("on",$data))) {
            $data['display']='1';
        }else{
            $data['display']='0';
        }
        // var_dump($data);die;
        $data['id']='';
        $result = Db::table('xo_admin_category')->data($data)->insert();
        if ($result > 0) {
            return $this->success('新增成功了~~', url('admin/category/index'));
        } else {
            return $this->error('新增失败~~');
        }
    }

    /**
     * 验证一级分类名
     *
     * @param   
     * @return \think\Response
     */
    public function checkcatename()
    {
        // echo 11;
        $name = input('get.');
        $name=$name['name'];
        $result = Db::table('xo_admin_category')->where('name',$name)->select();
        if ($result) {
            return 1; // JSON 数据
        }else{
            return 0; // JSON 数据
        }
        
    }
}

